{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pickle as pkl\n",
    "import pandas as pd\n",
    "import random\n",
    "import numpy as np\n",
    "import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>t_dat</th>\n",
       "      <th>customer_id</th>\n",
       "      <th>article_id</th>\n",
       "      <th>price</th>\n",
       "      <th>sales_channel_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>2018-09-20</td>\n",
       "      <td>2</td>\n",
       "      <td>40180</td>\n",
       "      <td>0.050831</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>2018-09-20</td>\n",
       "      <td>2</td>\n",
       "      <td>10521</td>\n",
       "      <td>0.030492</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>2018-09-20</td>\n",
       "      <td>7</td>\n",
       "      <td>6388</td>\n",
       "      <td>0.015237</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>2018-09-20</td>\n",
       "      <td>7</td>\n",
       "      <td>46305</td>\n",
       "      <td>0.016932</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>2018-09-20</td>\n",
       "      <td>7</td>\n",
       "      <td>46306</td>\n",
       "      <td>0.016932</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31788319</th>\n",
       "      <td>31788319</td>\n",
       "      <td>2020-09-22</td>\n",
       "      <td>1371691</td>\n",
       "      <td>104962</td>\n",
       "      <td>0.059305</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31788320</th>\n",
       "      <td>31788320</td>\n",
       "      <td>2020-09-22</td>\n",
       "      <td>1371691</td>\n",
       "      <td>100630</td>\n",
       "      <td>0.042356</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31788321</th>\n",
       "      <td>31788321</td>\n",
       "      <td>2020-09-22</td>\n",
       "      <td>1371721</td>\n",
       "      <td>104054</td>\n",
       "      <td>0.043203</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31788322</th>\n",
       "      <td>31788322</td>\n",
       "      <td>2020-09-22</td>\n",
       "      <td>1371747</td>\n",
       "      <td>88522</td>\n",
       "      <td>0.006763</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31788323</th>\n",
       "      <td>31788323</td>\n",
       "      <td>2020-09-22</td>\n",
       "      <td>1371960</td>\n",
       "      <td>101690</td>\n",
       "      <td>0.033881</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>31788324 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          Unnamed: 0       t_dat  customer_id  article_id     price  \\\n",
       "0                  0  2018-09-20            2       40180  0.050831   \n",
       "1                  1  2018-09-20            2       10521  0.030492   \n",
       "2                  2  2018-09-20            7        6388  0.015237   \n",
       "3                  3  2018-09-20            7       46305  0.016932   \n",
       "4                  4  2018-09-20            7       46306  0.016932   \n",
       "...              ...         ...          ...         ...       ...   \n",
       "31788319    31788319  2020-09-22      1371691      104962  0.059305   \n",
       "31788320    31788320  2020-09-22      1371691      100630  0.042356   \n",
       "31788321    31788321  2020-09-22      1371721      104054  0.043203   \n",
       "31788322    31788322  2020-09-22      1371747       88522  0.006763   \n",
       "31788323    31788323  2020-09-22      1371960      101690  0.033881   \n",
       "\n",
       "          sales_channel_id  \n",
       "0                        1  \n",
       "1                        1  \n",
       "2                        1  \n",
       "3                        1  \n",
       "4                        1  \n",
       "...                    ...  \n",
       "31788319                 1  \n",
       "31788320                 1  \n",
       "31788321                 0  \n",
       "31788322                 0  \n",
       "31788323                 1  \n",
       "\n",
       "[31788324 rows x 6 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(\"./Data/transactions_translated.csv\", sep=',')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((31788324, 200),\n",
       " array([[    0,     0,     0, ...,     0,     0,     0],\n",
       "        [40180,     0,     0, ...,     0,     0,     0],\n",
       "        [    0,     0,     0, ...,     0,     0,     0],\n",
       "        ...,\n",
       "        [   34, 92753, 94152, ...,     0,     0,     0],\n",
       "        [43028, 50841, 50841, ...,     0,     0,     0],\n",
       "        [83094, 83094, 85502, ...,     0,     0,     0]]))"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "customer_cnt = 1371980\n",
    "hist = [[] for i in range(customer_cnt)]\n",
    "pos_artid_seq = np.zeros((len(df), 200), dtype='int')\n",
    "# pos_pcode_seq = np.zeros((len(df), 200))\n",
    "i = 0\n",
    "for cid, aid in zip(df['customer_id'], df['article_id']):\n",
    "    seq_len = len(hist[cid][-200:])\n",
    "    pos_artid_seq[i, :seq_len] = hist[cid][-200:]      \n",
    "    hist[cid].append(aid)\n",
    "    i += 1\n",
    "\n",
    "pos_artid_seq.shape, pos_artid_seq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "with open('./Data/Processed/article_sparse.pkl', 'rb') as f:\n",
    "    artid = pkl.load(f)\n",
    "    pcode = pkl.load(f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n",
      "10000\n",
      "20000\n",
      "30000\n",
      "40000\n",
      "50000\n",
      "60000\n",
      "70000\n",
      "80000\n",
      "90000\n",
      "100000\n",
      "110000\n",
      "120000\n",
      "130000\n",
      "140000\n",
      "150000\n",
      "160000\n",
      "170000\n",
      "180000\n",
      "190000\n",
      "200000\n",
      "210000\n",
      "220000\n",
      "230000\n",
      "240000\n",
      "250000\n",
      "260000\n",
      "270000\n",
      "280000\n",
      "290000\n",
      "300000\n",
      "310000\n",
      "320000\n",
      "330000\n",
      "340000\n",
      "350000\n",
      "360000\n",
      "370000\n",
      "380000\n",
      "390000\n",
      "400000\n",
      "410000\n",
      "420000\n",
      "430000\n",
      "440000\n",
      "450000\n",
      "460000\n",
      "470000\n",
      "480000\n",
      "490000\n",
      "500000\n",
      "510000\n",
      "520000\n",
      "530000\n",
      "540000\n",
      "550000\n",
      "560000\n",
      "570000\n",
      "580000\n",
      "590000\n",
      "600000\n",
      "610000\n",
      "620000\n",
      "630000\n",
      "640000\n",
      "650000\n",
      "660000\n",
      "670000\n",
      "680000\n",
      "690000\n",
      "700000\n",
      "710000\n",
      "720000\n",
      "730000\n",
      "740000\n",
      "750000\n",
      "760000\n",
      "770000\n",
      "780000\n",
      "790000\n",
      "800000\n",
      "810000\n",
      "820000\n",
      "830000\n",
      "840000\n",
      "850000\n",
      "860000\n",
      "870000\n",
      "880000\n",
      "890000\n",
      "900000\n",
      "910000\n",
      "920000\n",
      "930000\n",
      "940000\n",
      "950000\n",
      "960000\n",
      "970000\n",
      "980000\n",
      "990000\n",
      "1000000\n",
      "1010000\n",
      "1020000\n",
      "1030000\n",
      "1040000\n",
      "1050000\n",
      "1060000\n",
      "1070000\n",
      "1080000\n",
      "1090000\n",
      "1100000\n",
      "1110000\n",
      "1120000\n",
      "1130000\n",
      "1140000\n",
      "1150000\n",
      "1160000\n",
      "1170000\n",
      "1180000\n",
      "1190000\n",
      "1200000\n",
      "1210000\n",
      "1220000\n",
      "1230000\n",
      "1240000\n",
      "1250000\n",
      "1260000\n",
      "1270000\n",
      "1280000\n",
      "1290000\n",
      "1300000\n",
      "1310000\n",
      "1320000\n",
      "1330000\n",
      "1340000\n",
      "1350000\n",
      "1360000\n",
      "1370000\n",
      "1380000\n",
      "1390000\n",
      "1400000\n",
      "1410000\n",
      "1420000\n",
      "1430000\n",
      "1440000\n",
      "1450000\n",
      "1460000\n",
      "1470000\n",
      "1480000\n",
      "1490000\n",
      "1500000\n",
      "1510000\n",
      "1520000\n",
      "1530000\n",
      "1540000\n",
      "1550000\n",
      "1560000\n",
      "1570000\n",
      "1580000\n",
      "1590000\n",
      "1600000\n",
      "1610000\n",
      "1620000\n",
      "1630000\n",
      "1640000\n",
      "1650000\n",
      "1660000\n",
      "1670000\n",
      "1680000\n",
      "1690000\n",
      "1700000\n",
      "1710000\n",
      "1720000\n",
      "1730000\n",
      "1740000\n",
      "1750000\n",
      "1760000\n",
      "1770000\n",
      "1780000\n",
      "1790000\n",
      "1800000\n",
      "1810000\n",
      "1820000\n",
      "1830000\n",
      "1840000\n",
      "1850000\n",
      "1860000\n",
      "1870000\n",
      "1880000\n",
      "1890000\n",
      "1900000\n",
      "1910000\n",
      "1920000\n",
      "1930000\n",
      "1940000\n",
      "1950000\n",
      "1960000\n",
      "1970000\n",
      "1980000\n",
      "1990000\n",
      "2000000\n",
      "2010000\n",
      "2020000\n",
      "2030000\n",
      "2040000\n",
      "2050000\n",
      "2060000\n",
      "2070000\n",
      "2080000\n",
      "2090000\n",
      "2100000\n",
      "2110000\n",
      "2120000\n",
      "2130000\n",
      "2140000\n",
      "2150000\n",
      "2160000\n",
      "2170000\n",
      "2180000\n",
      "2190000\n",
      "2200000\n",
      "2210000\n",
      "2220000\n",
      "2230000\n",
      "2240000\n",
      "2250000\n",
      "2260000\n",
      "2270000\n",
      "2280000\n",
      "2290000\n",
      "2300000\n",
      "2310000\n",
      "2320000\n",
      "2330000\n",
      "2340000\n",
      "2350000\n",
      "2360000\n",
      "2370000\n",
      "2380000\n",
      "2390000\n",
      "2400000\n",
      "2410000\n",
      "2420000\n",
      "2430000\n",
      "2440000\n",
      "2450000\n",
      "2460000\n",
      "2470000\n",
      "2480000\n",
      "2490000\n",
      "2500000\n",
      "2510000\n",
      "2520000\n",
      "2530000\n",
      "2540000\n",
      "2550000\n",
      "2560000\n",
      "2570000\n",
      "2580000\n",
      "2590000\n",
      "2600000\n",
      "2610000\n",
      "2620000\n",
      "2630000\n",
      "2640000\n",
      "2650000\n",
      "2660000\n",
      "2670000\n",
      "2680000\n",
      "2690000\n",
      "2700000\n",
      "2710000\n",
      "2720000\n",
      "2730000\n",
      "2740000\n",
      "2750000\n",
      "2760000\n",
      "2770000\n",
      "2780000\n",
      "2790000\n",
      "2800000\n",
      "2810000\n",
      "2820000\n",
      "2830000\n",
      "2840000\n",
      "2850000\n",
      "2860000\n",
      "2870000\n",
      "2880000\n",
      "2890000\n",
      "2900000\n",
      "2910000\n",
      "2920000\n",
      "2930000\n",
      "2940000\n",
      "2950000\n",
      "2960000\n",
      "2970000\n",
      "2980000\n",
      "2990000\n",
      "3000000\n",
      "3010000\n",
      "3020000\n",
      "3030000\n",
      "3040000\n",
      "3050000\n",
      "3060000\n",
      "3070000\n",
      "3080000\n",
      "3090000\n",
      "3100000\n",
      "3110000\n",
      "3120000\n",
      "3130000\n",
      "3140000\n",
      "3150000\n",
      "3160000\n",
      "3170000\n",
      "3180000\n",
      "3190000\n",
      "3200000\n",
      "3210000\n",
      "3220000\n",
      "3230000\n",
      "3240000\n",
      "3250000\n",
      "3260000\n",
      "3270000\n",
      "3280000\n",
      "3290000\n",
      "3300000\n",
      "3310000\n",
      "3320000\n",
      "3330000\n",
      "3340000\n",
      "3350000\n",
      "3360000\n",
      "3370000\n",
      "3380000\n",
      "3390000\n",
      "3400000\n",
      "3410000\n",
      "3420000\n",
      "3430000\n",
      "3440000\n",
      "3450000\n",
      "3460000\n",
      "3470000\n",
      "3480000\n",
      "3490000\n",
      "3500000\n",
      "3510000\n",
      "3520000\n",
      "3530000\n",
      "3540000\n",
      "3550000\n",
      "3560000\n",
      "3570000\n",
      "3580000\n",
      "3590000\n",
      "3600000\n",
      "3610000\n",
      "3620000\n",
      "3630000\n",
      "3640000\n",
      "3650000\n",
      "3660000\n",
      "3670000\n",
      "3680000\n",
      "3690000\n",
      "3700000\n",
      "3710000\n",
      "3720000\n",
      "3730000\n",
      "3740000\n",
      "3750000\n",
      "3760000\n",
      "3770000\n",
      "3780000\n",
      "3790000\n",
      "3800000\n",
      "3810000\n",
      "3820000\n",
      "3830000\n",
      "3840000\n",
      "3850000\n",
      "3860000\n",
      "3870000\n",
      "3880000\n",
      "3890000\n",
      "3900000\n",
      "3910000\n",
      "3920000\n",
      "3930000\n",
      "3940000\n",
      "3950000\n",
      "3960000\n",
      "3970000\n",
      "3980000\n",
      "3990000\n",
      "4000000\n",
      "4010000\n",
      "4020000\n",
      "4030000\n",
      "4040000\n",
      "4050000\n",
      "4060000\n",
      "4070000\n",
      "4080000\n",
      "4090000\n",
      "4100000\n",
      "4110000\n",
      "4120000\n",
      "4130000\n",
      "4140000\n",
      "4150000\n",
      "4160000\n",
      "4170000\n",
      "4180000\n",
      "4190000\n",
      "4200000\n",
      "4210000\n",
      "4220000\n",
      "4230000\n",
      "4240000\n",
      "4250000\n",
      "4260000\n",
      "4270000\n",
      "4280000\n",
      "4290000\n",
      "4300000\n",
      "4310000\n",
      "4320000\n",
      "4330000\n",
      "4340000\n",
      "4350000\n",
      "4360000\n",
      "4370000\n",
      "4380000\n",
      "4390000\n",
      "4400000\n",
      "4410000\n",
      "4420000\n",
      "4430000\n",
      "4440000\n",
      "4450000\n",
      "4460000\n",
      "4470000\n",
      "4480000\n",
      "4490000\n",
      "4500000\n",
      "4510000\n",
      "4520000\n",
      "4530000\n",
      "4540000\n",
      "4550000\n",
      "4560000\n",
      "4570000\n",
      "4580000\n",
      "4590000\n",
      "4600000\n",
      "4610000\n",
      "4620000\n",
      "4630000\n",
      "4640000\n",
      "4650000\n",
      "4660000\n",
      "4670000\n",
      "4680000\n",
      "4690000\n",
      "4700000\n",
      "4710000\n",
      "4720000\n",
      "4730000\n",
      "4740000\n",
      "4750000\n",
      "4760000\n",
      "4770000\n",
      "4780000\n",
      "4790000\n",
      "4800000\n",
      "4810000\n",
      "4820000\n",
      "4830000\n",
      "4840000\n",
      "4850000\n",
      "4860000\n",
      "4870000\n",
      "4880000\n",
      "4890000\n",
      "4900000\n",
      "4910000\n",
      "4920000\n",
      "4930000\n",
      "4940000\n",
      "4950000\n",
      "4960000\n",
      "4970000\n",
      "4980000\n",
      "4990000\n",
      "5000000\n",
      "5010000\n",
      "5020000\n",
      "5030000\n",
      "5040000\n",
      "5050000\n",
      "5060000\n",
      "5070000\n",
      "5080000\n",
      "5090000\n",
      "5100000\n",
      "5110000\n",
      "5120000\n",
      "5130000\n",
      "5140000\n",
      "5150000\n",
      "5160000\n",
      "5170000\n",
      "5180000\n",
      "5190000\n",
      "5200000\n",
      "5210000\n",
      "5220000\n",
      "5230000\n",
      "5240000\n",
      "5250000\n",
      "5260000\n",
      "5270000\n",
      "5280000\n",
      "5290000\n",
      "5300000\n",
      "5310000\n",
      "5320000\n",
      "5330000\n",
      "5340000\n",
      "5350000\n",
      "5360000\n",
      "5370000\n",
      "5380000\n",
      "5390000\n",
      "5400000\n",
      "5410000\n",
      "5420000\n",
      "5430000\n",
      "5440000\n",
      "5450000\n",
      "5460000\n",
      "5470000\n",
      "5480000\n",
      "5490000\n",
      "5500000\n",
      "5510000\n",
      "5520000\n",
      "5530000\n",
      "5540000\n",
      "5550000\n",
      "5560000\n",
      "5570000\n",
      "5580000\n",
      "5590000\n",
      "5600000\n",
      "5610000\n",
      "5620000\n",
      "5630000\n",
      "5640000\n",
      "5650000\n",
      "5660000\n",
      "5670000\n",
      "5680000\n",
      "5690000\n",
      "5700000\n",
      "5710000\n",
      "5720000\n",
      "5730000\n",
      "5740000\n",
      "5750000\n",
      "5760000\n",
      "5770000\n",
      "5780000\n",
      "5790000\n",
      "5800000\n",
      "5810000\n",
      "5820000\n",
      "5830000\n",
      "5840000\n",
      "5850000\n",
      "5860000\n",
      "5870000\n",
      "5880000\n",
      "5890000\n",
      "5900000\n",
      "5910000\n",
      "5920000\n",
      "5930000\n",
      "5940000\n",
      "5950000\n",
      "5960000\n",
      "5970000\n",
      "5980000\n",
      "5990000\n",
      "6000000\n",
      "6010000\n",
      "6020000\n",
      "6030000\n",
      "6040000\n",
      "6050000\n",
      "6060000\n",
      "6070000\n",
      "6080000\n",
      "6090000\n",
      "6100000\n",
      "6110000\n",
      "6120000\n",
      "6130000\n",
      "6140000\n",
      "6150000\n",
      "6160000\n",
      "6170000\n",
      "6180000\n",
      "6190000\n",
      "6200000\n",
      "6210000\n",
      "6220000\n",
      "6230000\n",
      "6240000\n",
      "6250000\n",
      "6260000\n",
      "6270000\n",
      "6280000\n",
      "6290000\n",
      "6300000\n",
      "6310000\n",
      "6320000\n",
      "6330000\n",
      "6340000\n",
      "6350000\n",
      "6360000\n",
      "6370000\n",
      "6380000\n",
      "6390000\n",
      "6400000\n",
      "6410000\n",
      "6420000\n",
      "6430000\n",
      "6440000\n",
      "6450000\n",
      "6460000\n",
      "6470000\n",
      "6480000\n",
      "6490000\n",
      "6500000\n",
      "6510000\n",
      "6520000\n",
      "6530000\n",
      "6540000\n",
      "6550000\n",
      "6560000\n",
      "6570000\n",
      "6580000\n",
      "6590000\n",
      "6600000\n",
      "6610000\n",
      "6620000\n",
      "6630000\n",
      "6640000\n",
      "6650000\n",
      "6660000\n",
      "6670000\n",
      "6680000\n",
      "6690000\n",
      "6700000\n",
      "6710000\n",
      "6720000\n",
      "6730000\n",
      "6740000\n",
      "6750000\n",
      "6760000\n",
      "6770000\n",
      "6780000\n",
      "6790000\n",
      "6800000\n",
      "6810000\n",
      "6820000\n",
      "6830000\n",
      "6840000\n",
      "6850000\n",
      "6860000\n",
      "6870000\n",
      "6880000\n",
      "6890000\n",
      "6900000\n",
      "6910000\n",
      "6920000\n",
      "6930000\n",
      "6940000\n",
      "6950000\n",
      "6960000\n",
      "6970000\n",
      "6980000\n",
      "6990000\n",
      "7000000\n",
      "7010000\n",
      "7020000\n",
      "7030000\n",
      "7040000\n",
      "7050000\n",
      "7060000\n",
      "7070000\n",
      "7080000\n",
      "7090000\n",
      "7100000\n",
      "7110000\n",
      "7120000\n",
      "7130000\n",
      "7140000\n",
      "7150000\n",
      "7160000\n",
      "7170000\n",
      "7180000\n",
      "7190000\n",
      "7200000\n",
      "7210000\n",
      "7220000\n",
      "7230000\n",
      "7240000\n",
      "7250000\n",
      "7260000\n",
      "7270000\n",
      "7280000\n",
      "7290000\n",
      "7300000\n",
      "7310000\n",
      "7320000\n",
      "7330000\n",
      "7340000\n",
      "7350000\n",
      "7360000\n",
      "7370000\n",
      "7380000\n",
      "7390000\n",
      "7400000\n",
      "7410000\n",
      "7420000\n",
      "7430000\n",
      "7440000\n",
      "7450000\n",
      "7460000\n",
      "7470000\n",
      "7480000\n",
      "7490000\n",
      "7500000\n",
      "7510000\n",
      "7520000\n",
      "7530000\n",
      "7540000\n",
      "7550000\n",
      "7560000\n",
      "7570000\n",
      "7580000\n",
      "7590000\n",
      "7600000\n",
      "7610000\n",
      "7620000\n",
      "7630000\n",
      "7640000\n",
      "7650000\n",
      "7660000\n",
      "7670000\n",
      "7680000\n",
      "7690000\n",
      "7700000\n",
      "7710000\n",
      "7720000\n",
      "7730000\n",
      "7740000\n",
      "7750000\n",
      "7760000\n",
      "7770000\n",
      "7780000\n",
      "7790000\n",
      "7800000\n",
      "7810000\n",
      "7820000\n",
      "7830000\n",
      "7840000\n",
      "7850000\n",
      "7860000\n",
      "7870000\n",
      "7880000\n",
      "7890000\n",
      "7900000\n",
      "7910000\n",
      "7920000\n",
      "7930000\n",
      "7940000\n",
      "7950000\n",
      "7960000\n",
      "7970000\n",
      "7980000\n",
      "7990000\n",
      "8000000\n",
      "8010000\n",
      "8020000\n",
      "8030000\n",
      "8040000\n",
      "8050000\n",
      "8060000\n",
      "8070000\n",
      "8080000\n",
      "8090000\n",
      "8100000\n",
      "8110000\n",
      "8120000\n",
      "8130000\n",
      "8140000\n",
      "8150000\n",
      "8160000\n",
      "8170000\n",
      "8180000\n",
      "8190000\n",
      "8200000\n",
      "8210000\n",
      "8220000\n",
      "8230000\n",
      "8240000\n",
      "8250000\n",
      "8260000\n",
      "8270000\n",
      "8280000\n",
      "8290000\n",
      "8300000\n",
      "8310000\n",
      "8320000\n",
      "8330000\n",
      "8340000\n",
      "8350000\n",
      "8360000\n",
      "8370000\n",
      "8380000\n",
      "8390000\n",
      "8400000\n",
      "8410000\n",
      "8420000\n",
      "8430000\n",
      "8440000\n",
      "8450000\n",
      "8460000\n",
      "8470000\n",
      "8480000\n",
      "8490000\n",
      "8500000\n",
      "8510000\n",
      "8520000\n",
      "8530000\n",
      "8540000\n",
      "8550000\n",
      "8560000\n",
      "8570000\n",
      "8580000\n",
      "8590000\n",
      "8600000\n",
      "8610000\n",
      "8620000\n",
      "8630000\n",
      "8640000\n",
      "8650000\n",
      "8660000\n",
      "8670000\n",
      "8680000\n",
      "8690000\n",
      "8700000\n",
      "8710000\n",
      "8720000\n",
      "8730000\n",
      "8740000\n",
      "8750000\n",
      "8760000\n",
      "8770000\n",
      "8780000\n",
      "8790000\n",
      "8800000\n",
      "8810000\n",
      "8820000\n",
      "8830000\n",
      "8840000\n",
      "8850000\n",
      "8860000\n",
      "8870000\n",
      "8880000\n",
      "8890000\n",
      "8900000\n",
      "8910000\n",
      "8920000\n",
      "8930000\n",
      "8940000\n",
      "8950000\n",
      "8960000\n",
      "8970000\n",
      "8980000\n",
      "8990000\n",
      "9000000\n",
      "9010000\n",
      "9020000\n",
      "9030000\n",
      "9040000\n",
      "9050000\n",
      "9060000\n",
      "9070000\n",
      "9080000\n",
      "9090000\n",
      "9100000\n",
      "9110000\n",
      "9120000\n",
      "9130000\n",
      "9140000\n",
      "9150000\n",
      "9160000\n",
      "9170000\n",
      "9180000\n",
      "9190000\n",
      "9200000\n",
      "9210000\n",
      "9220000\n",
      "9230000\n",
      "9240000\n",
      "9250000\n",
      "9260000\n",
      "9270000\n",
      "9280000\n",
      "9290000\n",
      "9300000\n",
      "9310000\n",
      "9320000\n",
      "9330000\n",
      "9340000\n",
      "9350000\n",
      "9360000\n",
      "9370000\n",
      "9380000\n",
      "9390000\n",
      "9400000\n",
      "9410000\n",
      "9420000\n",
      "9430000\n",
      "9440000\n",
      "9450000\n",
      "9460000\n",
      "9470000\n",
      "9480000\n",
      "9490000\n",
      "9500000\n",
      "9510000\n",
      "9520000\n",
      "9530000\n",
      "9540000\n",
      "9550000\n",
      "9560000\n",
      "9570000\n",
      "9580000\n",
      "9590000\n",
      "9600000\n",
      "9610000\n",
      "9620000\n",
      "9630000\n",
      "9640000\n",
      "9650000\n",
      "9660000\n",
      "9670000\n",
      "9680000\n",
      "9690000\n",
      "9700000\n",
      "9710000\n",
      "9720000\n",
      "9730000\n",
      "9740000\n",
      "9750000\n",
      "9760000\n",
      "9770000\n",
      "9780000\n",
      "9790000\n",
      "9800000\n",
      "9810000\n",
      "9820000\n",
      "9830000\n",
      "9840000\n",
      "9850000\n",
      "9860000\n",
      "9870000\n",
      "9880000\n",
      "9890000\n",
      "9900000\n",
      "9910000\n",
      "9920000\n",
      "9930000\n",
      "9940000\n",
      "9950000\n",
      "9960000\n",
      "9970000\n",
      "9980000\n",
      "9990000\n",
      "10000000\n",
      "10010000\n",
      "10020000\n",
      "10030000\n",
      "10040000\n",
      "10050000\n",
      "10060000\n",
      "10070000\n",
      "10080000\n",
      "10090000\n",
      "10100000\n",
      "10110000\n",
      "10120000\n",
      "10130000\n",
      "10140000\n",
      "10150000\n",
      "10160000\n",
      "10170000\n",
      "10180000\n",
      "10190000\n",
      "10200000\n",
      "10210000\n",
      "10220000\n",
      "10230000\n",
      "10240000\n",
      "10250000\n",
      "10260000\n",
      "10270000\n",
      "10280000\n",
      "10290000\n",
      "10300000\n",
      "10310000\n",
      "10320000\n",
      "10330000\n",
      "10340000\n",
      "10350000\n",
      "10360000\n",
      "10370000\n",
      "10380000\n",
      "10390000\n",
      "10400000\n",
      "10410000\n",
      "10420000\n",
      "10430000\n",
      "10440000\n",
      "10450000\n",
      "10460000\n",
      "10470000\n",
      "10480000\n",
      "10490000\n",
      "10500000\n",
      "10510000\n",
      "10520000\n",
      "10530000\n",
      "10540000\n",
      "10550000\n",
      "10560000\n",
      "10570000\n",
      "10580000\n",
      "10590000\n",
      "10600000\n",
      "10610000\n",
      "10620000\n",
      "10630000\n",
      "10640000\n",
      "10650000\n",
      "10660000\n",
      "10670000\n",
      "10680000\n",
      "10690000\n",
      "10700000\n",
      "10710000\n",
      "10720000\n",
      "10730000\n",
      "10740000\n",
      "10750000\n",
      "10760000\n",
      "10770000\n",
      "10780000\n",
      "10790000\n",
      "10800000\n",
      "10810000\n",
      "10820000\n",
      "10830000\n",
      "10840000\n",
      "10850000\n",
      "10860000\n",
      "10870000\n",
      "10880000\n",
      "10890000\n",
      "10900000\n",
      "10910000\n",
      "10920000\n",
      "10930000\n",
      "10940000\n",
      "10950000\n",
      "10960000\n",
      "10970000\n",
      "10980000\n",
      "10990000\n",
      "11000000\n",
      "11010000\n",
      "11020000\n",
      "11030000\n",
      "11040000\n",
      "11050000\n",
      "11060000\n",
      "11070000\n",
      "11080000\n",
      "11090000\n",
      "11100000\n",
      "11110000\n",
      "11120000\n",
      "11130000\n",
      "11140000\n",
      "11150000\n",
      "11160000\n",
      "11170000\n",
      "11180000\n",
      "11190000\n",
      "11200000\n",
      "11210000\n",
      "11220000\n",
      "11230000\n",
      "11240000\n",
      "11250000\n",
      "11260000\n",
      "11270000\n",
      "11280000\n",
      "11290000\n",
      "11300000\n",
      "11310000\n",
      "11320000\n",
      "11330000\n",
      "11340000\n",
      "11350000\n",
      "11360000\n",
      "11370000\n",
      "11380000\n",
      "11390000\n",
      "11400000\n",
      "11410000\n",
      "11420000\n",
      "11430000\n",
      "11440000\n",
      "11450000\n",
      "11460000\n",
      "11470000\n",
      "11480000\n",
      "11490000\n",
      "11500000\n",
      "11510000\n",
      "11520000\n",
      "11530000\n",
      "11540000\n",
      "11550000\n",
      "11560000\n",
      "11570000\n",
      "11580000\n",
      "11590000\n",
      "11600000\n",
      "11610000\n",
      "11620000\n",
      "11630000\n",
      "11640000\n",
      "11650000\n",
      "11660000\n",
      "11670000\n",
      "11680000\n",
      "11690000\n",
      "11700000\n",
      "11710000\n",
      "11720000\n",
      "11730000\n",
      "11740000\n",
      "11750000\n",
      "11760000\n",
      "11770000\n",
      "11780000\n",
      "11790000\n",
      "11800000\n",
      "11810000\n",
      "11820000\n",
      "11830000\n",
      "11840000\n",
      "11850000\n",
      "11860000\n",
      "11870000\n",
      "11880000\n",
      "11890000\n",
      "11900000\n",
      "11910000\n",
      "11920000\n",
      "11930000\n",
      "11940000\n",
      "11950000\n",
      "11960000\n",
      "11970000\n",
      "11980000\n",
      "11990000\n",
      "12000000\n",
      "12010000\n",
      "12020000\n",
      "12030000\n",
      "12040000\n",
      "12050000\n",
      "12060000\n",
      "12070000\n",
      "12080000\n",
      "12090000\n",
      "12100000\n",
      "12110000\n",
      "12120000\n",
      "12130000\n",
      "12140000\n",
      "12150000\n",
      "12160000\n",
      "12170000\n",
      "12180000\n",
      "12190000\n",
      "12200000\n",
      "12210000\n",
      "12220000\n",
      "12230000\n",
      "12240000\n",
      "12250000\n",
      "12260000\n",
      "12270000\n",
      "12280000\n",
      "12290000\n",
      "12300000\n",
      "12310000\n",
      "12320000\n",
      "12330000\n",
      "12340000\n",
      "12350000\n",
      "12360000\n",
      "12370000\n",
      "12380000\n",
      "12390000\n",
      "12400000\n",
      "12410000\n",
      "12420000\n",
      "12430000\n",
      "12440000\n",
      "12450000\n",
      "12460000\n",
      "12470000\n",
      "12480000\n",
      "12490000\n",
      "12500000\n",
      "12510000\n",
      "12520000\n",
      "12530000\n",
      "12540000\n",
      "12550000\n",
      "12560000\n",
      "12570000\n",
      "12580000\n",
      "12590000\n",
      "12600000\n",
      "12610000\n",
      "12620000\n",
      "12630000\n",
      "12640000\n",
      "12650000\n",
      "12660000\n",
      "12670000\n",
      "12680000\n",
      "12690000\n",
      "12700000\n",
      "12710000\n",
      "12720000\n",
      "12730000\n",
      "12740000\n",
      "12750000\n",
      "12760000\n",
      "12770000\n",
      "12780000\n",
      "12790000\n",
      "12800000\n",
      "12810000\n",
      "12820000\n",
      "12830000\n",
      "12840000\n",
      "12850000\n",
      "12860000\n",
      "12870000\n",
      "12880000\n",
      "12890000\n",
      "12900000\n",
      "12910000\n",
      "12920000\n",
      "12930000\n",
      "12940000\n",
      "12950000\n",
      "12960000\n",
      "12970000\n",
      "12980000\n",
      "12990000\n",
      "13000000\n",
      "13010000\n",
      "13020000\n",
      "13030000\n",
      "13040000\n",
      "13050000\n",
      "13060000\n",
      "13070000\n",
      "13080000\n",
      "13090000\n",
      "13100000\n",
      "13110000\n",
      "13120000\n",
      "13130000\n",
      "13140000\n",
      "13150000\n",
      "13160000\n",
      "13170000\n",
      "13180000\n",
      "13190000\n",
      "13200000\n",
      "13210000\n",
      "13220000\n",
      "13230000\n",
      "13240000\n",
      "13250000\n",
      "13260000\n",
      "13270000\n",
      "13280000\n",
      "13290000\n",
      "13300000\n",
      "13310000\n",
      "13320000\n",
      "13330000\n",
      "13340000\n",
      "13350000\n",
      "13360000\n",
      "13370000\n",
      "13380000\n",
      "13390000\n",
      "13400000\n",
      "13410000\n",
      "13420000\n",
      "13430000\n",
      "13440000\n",
      "13450000\n",
      "13460000\n",
      "13470000\n",
      "13480000\n",
      "13490000\n",
      "13500000\n",
      "13510000\n",
      "13520000\n",
      "13530000\n",
      "13540000\n",
      "13550000\n",
      "13560000\n",
      "13570000\n",
      "13580000\n",
      "13590000\n",
      "13600000\n",
      "13610000\n",
      "13620000\n",
      "13630000\n",
      "13640000\n",
      "13650000\n",
      "13660000\n",
      "13670000\n",
      "13680000\n",
      "13690000\n",
      "13700000\n",
      "13710000\n",
      "13720000\n",
      "13730000\n",
      "13740000\n",
      "13750000\n",
      "13760000\n",
      "13770000\n",
      "13780000\n",
      "13790000\n",
      "13800000\n",
      "13810000\n",
      "13820000\n",
      "13830000\n",
      "13840000\n",
      "13850000\n",
      "13860000\n",
      "13870000\n",
      "13880000\n",
      "13890000\n",
      "13900000\n",
      "13910000\n",
      "13920000\n",
      "13930000\n",
      "13940000\n",
      "13950000\n",
      "13960000\n",
      "13970000\n",
      "13980000\n",
      "13990000\n",
      "14000000\n",
      "14010000\n",
      "14020000\n",
      "14030000\n",
      "14040000\n",
      "14050000\n",
      "14060000\n",
      "14070000\n",
      "14080000\n",
      "14090000\n",
      "14100000\n",
      "14110000\n",
      "14120000\n",
      "14130000\n",
      "14140000\n",
      "14150000\n",
      "14160000\n",
      "14170000\n",
      "14180000\n",
      "14190000\n",
      "14200000\n",
      "14210000\n",
      "14220000\n",
      "14230000\n",
      "14240000\n",
      "14250000\n",
      "14260000\n",
      "14270000\n",
      "14280000\n",
      "14290000\n",
      "14300000\n",
      "14310000\n",
      "14320000\n",
      "14330000\n",
      "14340000\n",
      "14350000\n",
      "14360000\n",
      "14370000\n",
      "14380000\n",
      "14390000\n",
      "14400000\n",
      "14410000\n",
      "14420000\n",
      "14430000\n",
      "14440000\n",
      "14450000\n",
      "14460000\n",
      "14470000\n",
      "14480000\n",
      "14490000\n",
      "14500000\n",
      "14510000\n",
      "14520000\n",
      "14530000\n",
      "14540000\n",
      "14550000\n",
      "14560000\n",
      "14570000\n",
      "14580000\n",
      "14590000\n",
      "14600000\n",
      "14610000\n",
      "14620000\n",
      "14630000\n",
      "14640000\n",
      "14650000\n",
      "14660000\n",
      "14670000\n",
      "14680000\n",
      "14690000\n",
      "14700000\n",
      "14710000\n",
      "14720000\n",
      "14730000\n",
      "14740000\n",
      "14750000\n",
      "14760000\n",
      "14770000\n",
      "14780000\n",
      "14790000\n",
      "14800000\n",
      "14810000\n",
      "14820000\n",
      "14830000\n",
      "14840000\n",
      "14850000\n",
      "14860000\n",
      "14870000\n",
      "14880000\n",
      "14890000\n",
      "14900000\n",
      "14910000\n",
      "14920000\n",
      "14930000\n",
      "14940000\n",
      "14950000\n",
      "14960000\n",
      "14970000\n",
      "14980000\n",
      "14990000\n",
      "15000000\n",
      "15010000\n",
      "15020000\n",
      "15030000\n",
      "15040000\n",
      "15050000\n",
      "15060000\n",
      "15070000\n",
      "15080000\n",
      "15090000\n",
      "15100000\n",
      "15110000\n",
      "15120000\n",
      "15130000\n",
      "15140000\n",
      "15150000\n",
      "15160000\n",
      "15170000\n",
      "15180000\n",
      "15190000\n",
      "15200000\n",
      "15210000\n",
      "15220000\n",
      "15230000\n",
      "15240000\n",
      "15250000\n",
      "15260000\n",
      "15270000\n",
      "15280000\n",
      "15290000\n",
      "15300000\n",
      "15310000\n",
      "15320000\n",
      "15330000\n",
      "15340000\n",
      "15350000\n",
      "15360000\n",
      "15370000\n",
      "15380000\n",
      "15390000\n",
      "15400000\n",
      "15410000\n",
      "15420000\n",
      "15430000\n",
      "15440000\n",
      "15450000\n",
      "15460000\n",
      "15470000\n",
      "15480000\n",
      "15490000\n",
      "15500000\n",
      "15510000\n",
      "15520000\n",
      "15530000\n",
      "15540000\n",
      "15550000\n",
      "15560000\n",
      "15570000\n",
      "15580000\n",
      "15590000\n",
      "15600000\n",
      "15610000\n",
      "15620000\n",
      "15630000\n",
      "15640000\n",
      "15650000\n",
      "15660000\n",
      "15670000\n",
      "15680000\n",
      "15690000\n",
      "15700000\n",
      "15710000\n",
      "15720000\n",
      "15730000\n",
      "15740000\n",
      "15750000\n",
      "15760000\n",
      "15770000\n",
      "15780000\n",
      "15790000\n",
      "15800000\n",
      "15810000\n",
      "15820000\n",
      "15830000\n",
      "15840000\n",
      "15850000\n",
      "15860000\n",
      "15870000\n",
      "15880000\n",
      "15890000\n",
      "15900000\n",
      "15910000\n",
      "15920000\n",
      "15930000\n",
      "15940000\n",
      "15950000\n",
      "15960000\n",
      "15970000\n",
      "15980000\n",
      "15990000\n",
      "16000000\n",
      "16010000\n",
      "16020000\n",
      "16030000\n",
      "16040000\n",
      "16050000\n",
      "16060000\n",
      "16070000\n",
      "16080000\n",
      "16090000\n",
      "16100000\n",
      "16110000\n",
      "16120000\n",
      "16130000\n",
      "16140000\n",
      "16150000\n",
      "16160000\n",
      "16170000\n",
      "16180000\n",
      "16190000\n",
      "16200000\n",
      "16210000\n",
      "16220000\n",
      "16230000\n",
      "16240000\n",
      "16250000\n",
      "16260000\n",
      "16270000\n",
      "16280000\n",
      "16290000\n",
      "16300000\n",
      "16310000\n",
      "16320000\n",
      "16330000\n",
      "16340000\n",
      "16350000\n",
      "16360000\n",
      "16370000\n",
      "16380000\n",
      "16390000\n",
      "16400000\n",
      "16410000\n",
      "16420000\n",
      "16430000\n",
      "16440000\n",
      "16450000\n",
      "16460000\n",
      "16470000\n",
      "16480000\n",
      "16490000\n",
      "16500000\n",
      "16510000\n",
      "16520000\n",
      "16530000\n",
      "16540000\n",
      "16550000\n",
      "16560000\n",
      "16570000\n",
      "16580000\n",
      "16590000\n",
      "16600000\n",
      "16610000\n",
      "16620000\n",
      "16630000\n",
      "16640000\n",
      "16650000\n",
      "16660000\n",
      "16670000\n",
      "16680000\n",
      "16690000\n",
      "16700000\n",
      "16710000\n",
      "16720000\n",
      "16730000\n",
      "16740000\n",
      "16750000\n",
      "16760000\n",
      "16770000\n",
      "16780000\n",
      "16790000\n",
      "16800000\n",
      "16810000\n",
      "16820000\n",
      "16830000\n",
      "16840000\n",
      "16850000\n",
      "16860000\n",
      "16870000\n",
      "16880000\n",
      "16890000\n",
      "16900000\n",
      "16910000\n",
      "16920000\n",
      "16930000\n",
      "16940000\n",
      "16950000\n",
      "16960000\n",
      "16970000\n",
      "16980000\n",
      "16990000\n",
      "17000000\n",
      "17010000\n",
      "17020000\n",
      "17030000\n",
      "17040000\n",
      "17050000\n",
      "17060000\n",
      "17070000\n",
      "17080000\n",
      "17090000\n",
      "17100000\n",
      "17110000\n",
      "17120000\n",
      "17130000\n",
      "17140000\n",
      "17150000\n",
      "17160000\n",
      "17170000\n",
      "17180000\n",
      "17190000\n",
      "17200000\n",
      "17210000\n",
      "17220000\n",
      "17230000\n",
      "17240000\n",
      "17250000\n",
      "17260000\n",
      "17270000\n",
      "17280000\n",
      "17290000\n",
      "17300000\n",
      "17310000\n",
      "17320000\n",
      "17330000\n",
      "17340000\n",
      "17350000\n",
      "17360000\n",
      "17370000\n",
      "17380000\n",
      "17390000\n",
      "17400000\n",
      "17410000\n",
      "17420000\n",
      "17430000\n",
      "17440000\n",
      "17450000\n",
      "17460000\n",
      "17470000\n",
      "17480000\n",
      "17490000\n",
      "17500000\n",
      "17510000\n",
      "17520000\n",
      "17530000\n",
      "17540000\n",
      "17550000\n",
      "17560000\n",
      "17570000\n",
      "17580000\n",
      "17590000\n",
      "17600000\n",
      "17610000\n",
      "17620000\n",
      "17630000\n",
      "17640000\n",
      "17650000\n",
      "17660000\n",
      "17670000\n",
      "17680000\n",
      "17690000\n",
      "17700000\n",
      "17710000\n",
      "17720000\n",
      "17730000\n",
      "17740000\n",
      "17750000\n",
      "17760000\n",
      "17770000\n",
      "17780000\n",
      "17790000\n",
      "17800000\n",
      "17810000\n",
      "17820000\n",
      "17830000\n",
      "17840000\n",
      "17850000\n",
      "17860000\n",
      "17870000\n",
      "17880000\n",
      "17890000\n",
      "17900000\n",
      "17910000\n",
      "17920000\n",
      "17930000\n",
      "17940000\n",
      "17950000\n",
      "17960000\n",
      "17970000\n",
      "17980000\n",
      "17990000\n",
      "18000000\n",
      "18010000\n",
      "18020000\n",
      "18030000\n",
      "18040000\n",
      "18050000\n",
      "18060000\n",
      "18070000\n",
      "18080000\n",
      "18090000\n",
      "18100000\n",
      "18110000\n",
      "18120000\n",
      "18130000\n",
      "18140000\n",
      "18150000\n",
      "18160000\n",
      "18170000\n",
      "18180000\n",
      "18190000\n",
      "18200000\n",
      "18210000\n",
      "18220000\n",
      "18230000\n",
      "18240000\n",
      "18250000\n",
      "18260000\n",
      "18270000\n",
      "18280000\n",
      "18290000\n",
      "18300000\n",
      "18310000\n",
      "18320000\n",
      "18330000\n",
      "18340000\n",
      "18350000\n",
      "18360000\n",
      "18370000\n",
      "18380000\n",
      "18390000\n",
      "18400000\n",
      "18410000\n",
      "18420000\n",
      "18430000\n",
      "18440000\n",
      "18450000\n",
      "18460000\n",
      "18470000\n",
      "18480000\n",
      "18490000\n",
      "18500000\n",
      "18510000\n",
      "18520000\n",
      "18530000\n",
      "18540000\n",
      "18550000\n",
      "18560000\n",
      "18570000\n",
      "18580000\n",
      "18590000\n",
      "18600000\n",
      "18610000\n",
      "18620000\n",
      "18630000\n",
      "18640000\n",
      "18650000\n",
      "18660000\n",
      "18670000\n",
      "18680000\n",
      "18690000\n",
      "18700000\n",
      "18710000\n",
      "18720000\n",
      "18730000\n",
      "18740000\n",
      "18750000\n",
      "18760000\n",
      "18770000\n",
      "18780000\n",
      "18790000\n",
      "18800000\n",
      "18810000\n",
      "18820000\n",
      "18830000\n",
      "18840000\n",
      "18850000\n",
      "18860000\n",
      "18870000\n",
      "18880000\n",
      "18890000\n",
      "18900000\n",
      "18910000\n",
      "18920000\n",
      "18930000\n",
      "18940000\n",
      "18950000\n",
      "18960000\n",
      "18970000\n",
      "18980000\n",
      "18990000\n",
      "19000000\n",
      "19010000\n",
      "19020000\n",
      "19030000\n",
      "19040000\n",
      "19050000\n",
      "19060000\n",
      "19070000\n",
      "19080000\n",
      "19090000\n",
      "19100000\n",
      "19110000\n",
      "19120000\n",
      "19130000\n",
      "19140000\n",
      "19150000\n",
      "19160000\n",
      "19170000\n",
      "19180000\n",
      "19190000\n",
      "19200000\n",
      "19210000\n",
      "19220000\n",
      "19230000\n",
      "19240000\n",
      "19250000\n",
      "19260000\n",
      "19270000\n",
      "19280000\n",
      "19290000\n",
      "19300000\n",
      "19310000\n",
      "19320000\n",
      "19330000\n",
      "19340000\n",
      "19350000\n",
      "19360000\n",
      "19370000\n",
      "19380000\n",
      "19390000\n",
      "19400000\n",
      "19410000\n",
      "19420000\n",
      "19430000\n",
      "19440000\n",
      "19450000\n",
      "19460000\n",
      "19470000\n",
      "19480000\n",
      "19490000\n",
      "19500000\n",
      "19510000\n",
      "19520000\n",
      "19530000\n",
      "19540000\n",
      "19550000\n",
      "19560000\n",
      "19570000\n",
      "19580000\n",
      "19590000\n",
      "19600000\n",
      "19610000\n",
      "19620000\n",
      "19630000\n",
      "19640000\n",
      "19650000\n",
      "19660000\n",
      "19670000\n",
      "19680000\n",
      "19690000\n",
      "19700000\n",
      "19710000\n",
      "19720000\n",
      "19730000\n",
      "19740000\n",
      "19750000\n",
      "19760000\n",
      "19770000\n",
      "19780000\n",
      "19790000\n",
      "19800000\n",
      "19810000\n",
      "19820000\n",
      "19830000\n",
      "19840000\n",
      "19850000\n",
      "19860000\n",
      "19870000\n",
      "19880000\n",
      "19890000\n",
      "19900000\n",
      "19910000\n",
      "19920000\n",
      "19930000\n",
      "19940000\n",
      "19950000\n",
      "19960000\n",
      "19970000\n",
      "19980000\n",
      "19990000\n",
      "20000000\n",
      "20010000\n",
      "20020000\n",
      "20030000\n",
      "20040000\n",
      "20050000\n",
      "20060000\n",
      "20070000\n",
      "20080000\n",
      "20090000\n",
      "20100000\n",
      "20110000\n",
      "20120000\n",
      "20130000\n",
      "20140000\n",
      "20150000\n",
      "20160000\n",
      "20170000\n",
      "20180000\n",
      "20190000\n",
      "20200000\n",
      "20210000\n",
      "20220000\n",
      "20230000\n",
      "20240000\n",
      "20250000\n",
      "20260000\n",
      "20270000\n",
      "20280000\n",
      "20290000\n",
      "20300000\n",
      "20310000\n",
      "20320000\n",
      "20330000\n",
      "20340000\n",
      "20350000\n",
      "20360000\n",
      "20370000\n",
      "20380000\n",
      "20390000\n",
      "20400000\n",
      "20410000\n",
      "20420000\n",
      "20430000\n",
      "20440000\n",
      "20450000\n",
      "20460000\n",
      "20470000\n",
      "20480000\n",
      "20490000\n",
      "20500000\n",
      "20510000\n",
      "20520000\n",
      "20530000\n",
      "20540000\n",
      "20550000\n",
      "20560000\n",
      "20570000\n",
      "20580000\n",
      "20590000\n",
      "20600000\n",
      "20610000\n",
      "20620000\n",
      "20630000\n",
      "20640000\n",
      "20650000\n",
      "20660000\n",
      "20670000\n",
      "20680000\n",
      "20690000\n",
      "20700000\n",
      "20710000\n",
      "20720000\n",
      "20730000\n",
      "20740000\n",
      "20750000\n",
      "20760000\n",
      "20770000\n",
      "20780000\n",
      "20790000\n",
      "20800000\n",
      "20810000\n",
      "20820000\n",
      "20830000\n",
      "20840000\n",
      "20850000\n",
      "20860000\n",
      "20870000\n",
      "20880000\n",
      "20890000\n",
      "20900000\n",
      "20910000\n",
      "20920000\n",
      "20930000\n",
      "20940000\n",
      "20950000\n",
      "20960000\n",
      "20970000\n",
      "20980000\n",
      "20990000\n",
      "21000000\n",
      "21010000\n",
      "21020000\n",
      "21030000\n",
      "21040000\n",
      "21050000\n",
      "21060000\n",
      "21070000\n",
      "21080000\n",
      "21090000\n",
      "21100000\n",
      "21110000\n",
      "21120000\n",
      "21130000\n",
      "21140000\n",
      "21150000\n",
      "21160000\n",
      "21170000\n",
      "21180000\n",
      "21190000\n",
      "21200000\n",
      "21210000\n",
      "21220000\n",
      "21230000\n",
      "21240000\n",
      "21250000\n",
      "21260000\n",
      "21270000\n",
      "21280000\n",
      "21290000\n",
      "21300000\n",
      "21310000\n",
      "21320000\n",
      "21330000\n",
      "21340000\n",
      "21350000\n",
      "21360000\n",
      "21370000\n",
      "21380000\n",
      "21390000\n",
      "21400000\n",
      "21410000\n",
      "21420000\n",
      "21430000\n",
      "21440000\n",
      "21450000\n",
      "21460000\n",
      "21470000\n",
      "21480000\n",
      "21490000\n",
      "21500000\n",
      "21510000\n",
      "21520000\n",
      "21530000\n",
      "21540000\n",
      "21550000\n",
      "21560000\n",
      "21570000\n",
      "21580000\n",
      "21590000\n",
      "21600000\n",
      "21610000\n",
      "21620000\n",
      "21630000\n",
      "21640000\n",
      "21650000\n",
      "21660000\n",
      "21670000\n",
      "21680000\n",
      "21690000\n",
      "21700000\n",
      "21710000\n",
      "21720000\n",
      "21730000\n",
      "21740000\n",
      "21750000\n",
      "21760000\n",
      "21770000\n",
      "21780000\n",
      "21790000\n",
      "21800000\n",
      "21810000\n",
      "21820000\n",
      "21830000\n",
      "21840000\n",
      "21850000\n",
      "21860000\n",
      "21870000\n",
      "21880000\n",
      "21890000\n",
      "21900000\n",
      "21910000\n",
      "21920000\n",
      "21930000\n",
      "21940000\n",
      "21950000\n",
      "21960000\n",
      "21970000\n",
      "21980000\n",
      "21990000\n",
      "22000000\n",
      "22010000\n",
      "22020000\n",
      "22030000\n",
      "22040000\n",
      "22050000\n",
      "22060000\n",
      "22070000\n",
      "22080000\n",
      "22090000\n",
      "22100000\n",
      "22110000\n",
      "22120000\n",
      "22130000\n",
      "22140000\n",
      "22150000\n",
      "22160000\n",
      "22170000\n",
      "22180000\n",
      "22190000\n",
      "22200000\n",
      "22210000\n",
      "22220000\n",
      "22230000\n",
      "22240000\n",
      "22250000\n",
      "22260000\n",
      "22270000\n",
      "22280000\n",
      "22290000\n",
      "22300000\n",
      "22310000\n",
      "22320000\n",
      "22330000\n",
      "22340000\n",
      "22350000\n",
      "22360000\n",
      "22370000\n",
      "22380000\n",
      "22390000\n",
      "22400000\n",
      "22410000\n",
      "22420000\n",
      "22430000\n",
      "22440000\n",
      "22450000\n",
      "22460000\n",
      "22470000\n",
      "22480000\n",
      "22490000\n",
      "22500000\n",
      "22510000\n",
      "22520000\n",
      "22530000\n",
      "22540000\n",
      "22550000\n",
      "22560000\n",
      "22570000\n",
      "22580000\n",
      "22590000\n",
      "22600000\n",
      "22610000\n",
      "22620000\n",
      "22630000\n",
      "22640000\n",
      "22650000\n",
      "22660000\n",
      "22670000\n",
      "22680000\n",
      "22690000\n",
      "22700000\n",
      "22710000\n",
      "22720000\n",
      "22730000\n",
      "22740000\n",
      "22750000\n",
      "22760000\n",
      "22770000\n",
      "22780000\n",
      "22790000\n",
      "22800000\n",
      "22810000\n",
      "22820000\n",
      "22830000\n",
      "22840000\n",
      "22850000\n",
      "22860000\n",
      "22870000\n",
      "22880000\n",
      "22890000\n",
      "22900000\n",
      "22910000\n",
      "22920000\n",
      "22930000\n",
      "22940000\n",
      "22950000\n",
      "22960000\n",
      "22970000\n",
      "22980000\n",
      "22990000\n",
      "23000000\n",
      "23010000\n",
      "23020000\n",
      "23030000\n",
      "23040000\n",
      "23050000\n",
      "23060000\n",
      "23070000\n",
      "23080000\n",
      "23090000\n",
      "23100000\n",
      "23110000\n",
      "23120000\n",
      "23130000\n",
      "23140000\n",
      "23150000\n",
      "23160000\n",
      "23170000\n",
      "23180000\n",
      "23190000\n",
      "23200000\n",
      "23210000\n",
      "23220000\n",
      "23230000\n",
      "23240000\n",
      "23250000\n",
      "23260000\n",
      "23270000\n",
      "23280000\n",
      "23290000\n",
      "23300000\n",
      "23310000\n",
      "23320000\n",
      "23330000\n",
      "23340000\n",
      "23350000\n",
      "23360000\n",
      "23370000\n",
      "23380000\n",
      "23390000\n",
      "23400000\n",
      "23410000\n",
      "23420000\n",
      "23430000\n",
      "23440000\n",
      "23450000\n",
      "23460000\n",
      "23470000\n",
      "23480000\n",
      "23490000\n",
      "23500000\n",
      "23510000\n",
      "23520000\n",
      "23530000\n",
      "23540000\n",
      "23550000\n",
      "23560000\n",
      "23570000\n",
      "23580000\n",
      "23590000\n",
      "23600000\n",
      "23610000\n",
      "23620000\n",
      "23630000\n",
      "23640000\n",
      "23650000\n",
      "23660000\n",
      "23670000\n",
      "23680000\n",
      "23690000\n",
      "23700000\n",
      "23710000\n",
      "23720000\n",
      "23730000\n",
      "23740000\n",
      "23750000\n",
      "23760000\n",
      "23770000\n",
      "23780000\n",
      "23790000\n",
      "23800000\n",
      "23810000\n",
      "23820000\n",
      "23830000\n",
      "23840000\n",
      "23850000\n",
      "23860000\n",
      "23870000\n",
      "23880000\n",
      "23890000\n",
      "23900000\n",
      "23910000\n",
      "23920000\n",
      "23930000\n",
      "23940000\n",
      "23950000\n",
      "23960000\n",
      "23970000\n",
      "23980000\n",
      "23990000\n",
      "24000000\n",
      "24010000\n",
      "24020000\n",
      "24030000\n",
      "24040000\n",
      "24050000\n",
      "24060000\n",
      "24070000\n",
      "24080000\n",
      "24090000\n",
      "24100000\n",
      "24110000\n",
      "24120000\n",
      "24130000\n",
      "24140000\n",
      "24150000\n",
      "24160000\n",
      "24170000\n",
      "24180000\n",
      "24190000\n",
      "24200000\n",
      "24210000\n",
      "24220000\n",
      "24230000\n",
      "24240000\n",
      "24250000\n",
      "24260000\n",
      "24270000\n",
      "24280000\n",
      "24290000\n",
      "24300000\n",
      "24310000\n",
      "24320000\n",
      "24330000\n",
      "24340000\n",
      "24350000\n",
      "24360000\n",
      "24370000\n",
      "24380000\n",
      "24390000\n",
      "24400000\n",
      "24410000\n",
      "24420000\n",
      "24430000\n",
      "24440000\n",
      "24450000\n",
      "24460000\n",
      "24470000\n",
      "24480000\n",
      "24490000\n",
      "24500000\n",
      "24510000\n",
      "24520000\n",
      "24530000\n",
      "24540000\n",
      "24550000\n",
      "24560000\n",
      "24570000\n",
      "24580000\n",
      "24590000\n",
      "24600000\n",
      "24610000\n",
      "24620000\n",
      "24630000\n",
      "24640000\n",
      "24650000\n",
      "24660000\n",
      "24670000\n",
      "24680000\n",
      "24690000\n",
      "24700000\n",
      "24710000\n",
      "24720000\n",
      "24730000\n",
      "24740000\n",
      "24750000\n",
      "24760000\n",
      "24770000\n",
      "24780000\n",
      "24790000\n",
      "24800000\n",
      "24810000\n",
      "24820000\n",
      "24830000\n",
      "24840000\n",
      "24850000\n",
      "24860000\n",
      "24870000\n",
      "24880000\n",
      "24890000\n",
      "24900000\n",
      "24910000\n",
      "24920000\n",
      "24930000\n",
      "24940000\n",
      "24950000\n",
      "24960000\n",
      "24970000\n",
      "24980000\n",
      "24990000\n",
      "25000000\n",
      "25010000\n",
      "25020000\n",
      "25030000\n",
      "25040000\n",
      "25050000\n",
      "25060000\n",
      "25070000\n",
      "25080000\n",
      "25090000\n",
      "25100000\n",
      "25110000\n",
      "25120000\n",
      "25130000\n",
      "25140000\n",
      "25150000\n",
      "25160000\n",
      "25170000\n",
      "25180000\n",
      "25190000\n",
      "25200000\n",
      "25210000\n",
      "25220000\n",
      "25230000\n",
      "25240000\n",
      "25250000\n",
      "25260000\n",
      "25270000\n",
      "25280000\n",
      "25290000\n",
      "25300000\n",
      "25310000\n",
      "25320000\n",
      "25330000\n",
      "25340000\n",
      "25350000\n",
      "25360000\n",
      "25370000\n",
      "25380000\n",
      "25390000\n",
      "25400000\n",
      "25410000\n",
      "25420000\n",
      "25430000\n",
      "25440000\n",
      "25450000\n",
      "25460000\n",
      "25470000\n",
      "25480000\n",
      "25490000\n",
      "25500000\n",
      "25510000\n",
      "25520000\n",
      "25530000\n",
      "25540000\n",
      "25550000\n",
      "25560000\n",
      "25570000\n",
      "25580000\n",
      "25590000\n",
      "25600000\n",
      "25610000\n",
      "25620000\n",
      "25630000\n",
      "25640000\n",
      "25650000\n",
      "25660000\n",
      "25670000\n",
      "25680000\n",
      "25690000\n",
      "25700000\n",
      "25710000\n",
      "25720000\n",
      "25730000\n",
      "25740000\n",
      "25750000\n",
      "25760000\n",
      "25770000\n",
      "25780000\n",
      "25790000\n",
      "25800000\n",
      "25810000\n",
      "25820000\n",
      "25830000\n",
      "25840000\n",
      "25850000\n",
      "25860000\n",
      "25870000\n",
      "25880000\n",
      "25890000\n",
      "25900000\n",
      "25910000\n",
      "25920000\n",
      "25930000\n",
      "25940000\n",
      "25950000\n",
      "25960000\n",
      "25970000\n",
      "25980000\n",
      "25990000\n",
      "26000000\n",
      "26010000\n",
      "26020000\n",
      "26030000\n",
      "26040000\n",
      "26050000\n",
      "26060000\n",
      "26070000\n",
      "26080000\n",
      "26090000\n",
      "26100000\n",
      "26110000\n",
      "26120000\n",
      "26130000\n",
      "26140000\n",
      "26150000\n",
      "26160000\n",
      "26170000\n",
      "26180000\n",
      "26190000\n",
      "26200000\n",
      "26210000\n",
      "26220000\n",
      "26230000\n",
      "26240000\n",
      "26250000\n",
      "26260000\n",
      "26270000\n",
      "26280000\n",
      "26290000\n",
      "26300000\n",
      "26310000\n",
      "26320000\n",
      "26330000\n",
      "26340000\n",
      "26350000\n",
      "26360000\n",
      "26370000\n",
      "26380000\n",
      "26390000\n",
      "26400000\n",
      "26410000\n",
      "26420000\n",
      "26430000\n",
      "26440000\n",
      "26450000\n",
      "26460000\n",
      "26470000\n",
      "26480000\n",
      "26490000\n",
      "26500000\n",
      "26510000\n",
      "26520000\n",
      "26530000\n",
      "26540000\n",
      "26550000\n",
      "26560000\n",
      "26570000\n",
      "26580000\n",
      "26590000\n",
      "26600000\n",
      "26610000\n",
      "26620000\n",
      "26630000\n",
      "26640000\n",
      "26650000\n",
      "26660000\n",
      "26670000\n",
      "26680000\n",
      "26690000\n",
      "26700000\n",
      "26710000\n",
      "26720000\n",
      "26730000\n",
      "26740000\n",
      "26750000\n",
      "26760000\n",
      "26770000\n",
      "26780000\n",
      "26790000\n",
      "26800000\n",
      "26810000\n",
      "26820000\n",
      "26830000\n",
      "26840000\n",
      "26850000\n",
      "26860000\n",
      "26870000\n",
      "26880000\n",
      "26890000\n",
      "26900000\n",
      "26910000\n",
      "26920000\n",
      "26930000\n",
      "26940000\n",
      "26950000\n",
      "26960000\n",
      "26970000\n",
      "26980000\n",
      "26990000\n",
      "27000000\n",
      "27010000\n",
      "27020000\n",
      "27030000\n",
      "27040000\n",
      "27050000\n",
      "27060000\n",
      "27070000\n",
      "27080000\n",
      "27090000\n",
      "27100000\n",
      "27110000\n",
      "27120000\n",
      "27130000\n",
      "27140000\n",
      "27150000\n",
      "27160000\n",
      "27170000\n",
      "27180000\n",
      "27190000\n",
      "27200000\n",
      "27210000\n",
      "27220000\n",
      "27230000\n",
      "27240000\n",
      "27250000\n",
      "27260000\n",
      "27270000\n",
      "27280000\n",
      "27290000\n",
      "27300000\n",
      "27310000\n",
      "27320000\n",
      "27330000\n",
      "27340000\n",
      "27350000\n",
      "27360000\n",
      "27370000\n",
      "27380000\n",
      "27390000\n",
      "27400000\n",
      "27410000\n",
      "27420000\n",
      "27430000\n",
      "27440000\n",
      "27450000\n",
      "27460000\n",
      "27470000\n",
      "27480000\n",
      "27490000\n",
      "27500000\n",
      "27510000\n",
      "27520000\n",
      "27530000\n",
      "27540000\n",
      "27550000\n",
      "27560000\n",
      "27570000\n",
      "27580000\n",
      "27590000\n",
      "27600000\n",
      "27610000\n",
      "27620000\n",
      "27630000\n",
      "27640000\n",
      "27650000\n",
      "27660000\n",
      "27670000\n",
      "27680000\n",
      "27690000\n",
      "27700000\n",
      "27710000\n",
      "27720000\n",
      "27730000\n",
      "27740000\n",
      "27750000\n",
      "27760000\n",
      "27770000\n",
      "27780000\n",
      "27790000\n",
      "27800000\n",
      "27810000\n",
      "27820000\n",
      "27830000\n",
      "27840000\n",
      "27850000\n",
      "27860000\n",
      "27870000\n",
      "27880000\n",
      "27890000\n",
      "27900000\n",
      "27910000\n",
      "27920000\n",
      "27930000\n",
      "27940000\n",
      "27950000\n",
      "27960000\n",
      "27970000\n",
      "27980000\n",
      "27990000\n",
      "28000000\n",
      "28010000\n",
      "28020000\n",
      "28030000\n",
      "28040000\n",
      "28050000\n",
      "28060000\n",
      "28070000\n",
      "28080000\n",
      "28090000\n",
      "28100000\n",
      "28110000\n",
      "28120000\n",
      "28130000\n",
      "28140000\n",
      "28150000\n",
      "28160000\n",
      "28170000\n",
      "28180000\n",
      "28190000\n",
      "28200000\n",
      "28210000\n",
      "28220000\n",
      "28230000\n",
      "28240000\n",
      "28250000\n",
      "28260000\n",
      "28270000\n",
      "28280000\n",
      "28290000\n",
      "28300000\n",
      "28310000\n",
      "28320000\n",
      "28330000\n",
      "28340000\n",
      "28350000\n",
      "28360000\n",
      "28370000\n",
      "28380000\n",
      "28390000\n",
      "28400000\n",
      "28410000\n",
      "28420000\n",
      "28430000\n",
      "28440000\n",
      "28450000\n",
      "28460000\n",
      "28470000\n",
      "28480000\n",
      "28490000\n",
      "28500000\n",
      "28510000\n",
      "28520000\n",
      "28530000\n",
      "28540000\n",
      "28550000\n",
      "28560000\n",
      "28570000\n",
      "28580000\n",
      "28590000\n",
      "28600000\n",
      "28610000\n",
      "28620000\n",
      "28630000\n",
      "28640000\n",
      "28650000\n",
      "28660000\n",
      "28670000\n",
      "28680000\n",
      "28690000\n",
      "28700000\n",
      "28710000\n",
      "28720000\n",
      "28730000\n",
      "28740000\n",
      "28750000\n",
      "28760000\n",
      "28770000\n",
      "28780000\n",
      "28790000\n",
      "28800000\n",
      "28810000\n",
      "28820000\n",
      "28830000\n",
      "28840000\n",
      "28850000\n",
      "28860000\n",
      "28870000\n",
      "28880000\n",
      "28890000\n",
      "28900000\n",
      "28910000\n",
      "28920000\n",
      "28930000\n",
      "28940000\n",
      "28950000\n",
      "28960000\n",
      "28970000\n",
      "28980000\n",
      "28990000\n",
      "29000000\n",
      "29010000\n",
      "29020000\n",
      "29030000\n",
      "29040000\n",
      "29050000\n",
      "29060000\n",
      "29070000\n",
      "29080000\n",
      "29090000\n",
      "29100000\n",
      "29110000\n",
      "29120000\n",
      "29130000\n",
      "29140000\n",
      "29150000\n",
      "29160000\n",
      "29170000\n",
      "29180000\n",
      "29190000\n",
      "29200000\n",
      "29210000\n",
      "29220000\n",
      "29230000\n",
      "29240000\n",
      "29250000\n",
      "29260000\n",
      "29270000\n",
      "29280000\n",
      "29290000\n",
      "29300000\n",
      "29310000\n",
      "29320000\n",
      "29330000\n",
      "29340000\n",
      "29350000\n",
      "29360000\n",
      "29370000\n",
      "29380000\n",
      "29390000\n",
      "29400000\n",
      "29410000\n",
      "29420000\n",
      "29430000\n",
      "29440000\n",
      "29450000\n",
      "29460000\n",
      "29470000\n",
      "29480000\n",
      "29490000\n",
      "29500000\n",
      "29510000\n",
      "29520000\n",
      "29530000\n",
      "29540000\n",
      "29550000\n",
      "29560000\n",
      "29570000\n",
      "29580000\n",
      "29590000\n",
      "29600000\n",
      "29610000\n",
      "29620000\n",
      "29630000\n",
      "29640000\n",
      "29650000\n",
      "29660000\n",
      "29670000\n",
      "29680000\n",
      "29690000\n",
      "29700000\n",
      "29710000\n",
      "29720000\n",
      "29730000\n",
      "29740000\n",
      "29750000\n",
      "29760000\n",
      "29770000\n",
      "29780000\n",
      "29790000\n",
      "29800000\n",
      "29810000\n",
      "29820000\n",
      "29830000\n",
      "29840000\n",
      "29850000\n",
      "29860000\n",
      "29870000\n",
      "29880000\n",
      "29890000\n",
      "29900000\n",
      "29910000\n",
      "29920000\n",
      "29930000\n",
      "29940000\n",
      "29950000\n",
      "29960000\n",
      "29970000\n",
      "29980000\n",
      "29990000\n",
      "30000000\n",
      "30010000\n",
      "30020000\n",
      "30030000\n",
      "30040000\n",
      "30050000\n",
      "30060000\n",
      "30070000\n",
      "30080000\n",
      "30090000\n",
      "30100000\n",
      "30110000\n",
      "30120000\n",
      "30130000\n",
      "30140000\n",
      "30150000\n",
      "30160000\n",
      "30170000\n",
      "30180000\n",
      "30190000\n",
      "30200000\n",
      "30210000\n",
      "30220000\n",
      "30230000\n",
      "30240000\n",
      "30250000\n",
      "30260000\n",
      "30270000\n",
      "30280000\n",
      "30290000\n",
      "30300000\n",
      "30310000\n",
      "30320000\n",
      "30330000\n",
      "30340000\n",
      "30350000\n",
      "30360000\n",
      "30370000\n",
      "30380000\n",
      "30390000\n",
      "30400000\n",
      "30410000\n",
      "30420000\n",
      "30430000\n",
      "30440000\n",
      "30450000\n",
      "30460000\n",
      "30470000\n",
      "30480000\n",
      "30490000\n",
      "30500000\n",
      "30510000\n",
      "30520000\n",
      "30530000\n",
      "30540000\n",
      "30550000\n",
      "30560000\n",
      "30570000\n",
      "30580000\n",
      "30590000\n",
      "30600000\n",
      "30610000\n",
      "30620000\n",
      "30630000\n",
      "30640000\n",
      "30650000\n",
      "30660000\n",
      "30670000\n",
      "30680000\n",
      "30690000\n",
      "30700000\n",
      "30710000\n",
      "30720000\n",
      "30730000\n",
      "30740000\n",
      "30750000\n",
      "30760000\n",
      "30770000\n",
      "30780000\n",
      "30790000\n",
      "30800000\n",
      "30810000\n",
      "30820000\n",
      "30830000\n",
      "30840000\n",
      "30850000\n",
      "30860000\n",
      "30870000\n",
      "30880000\n",
      "30890000\n",
      "30900000\n",
      "30910000\n",
      "30920000\n",
      "30930000\n",
      "30940000\n",
      "30950000\n",
      "30960000\n",
      "30970000\n",
      "30980000\n",
      "30990000\n",
      "31000000\n",
      "31010000\n",
      "31020000\n",
      "31030000\n",
      "31040000\n",
      "31050000\n",
      "31060000\n",
      "31070000\n",
      "31080000\n",
      "31090000\n",
      "31100000\n",
      "31110000\n",
      "31120000\n",
      "31130000\n",
      "31140000\n",
      "31150000\n",
      "31160000\n",
      "31170000\n",
      "31180000\n",
      "31190000\n",
      "31200000\n",
      "31210000\n",
      "31220000\n",
      "31230000\n",
      "31240000\n",
      "31250000\n",
      "31260000\n",
      "31270000\n",
      "31280000\n",
      "31290000\n",
      "31300000\n",
      "31310000\n",
      "31320000\n",
      "31330000\n",
      "31340000\n",
      "31350000\n",
      "31360000\n",
      "31370000\n",
      "31380000\n",
      "31390000\n",
      "31400000\n",
      "31410000\n",
      "31420000\n",
      "31430000\n",
      "31440000\n",
      "31450000\n",
      "31460000\n",
      "31470000\n",
      "31480000\n",
      "31490000\n",
      "31500000\n",
      "31510000\n",
      "31520000\n",
      "31530000\n",
      "31540000\n",
      "31550000\n",
      "31560000\n",
      "31570000\n",
      "31580000\n",
      "31590000\n",
      "31600000\n",
      "31610000\n",
      "31620000\n",
      "31630000\n",
      "31640000\n",
      "31650000\n",
      "31660000\n",
      "31670000\n",
      "31680000\n",
      "31690000\n",
      "31700000\n",
      "31710000\n",
      "31720000\n",
      "31730000\n",
      "31740000\n",
      "31750000\n",
      "31760000\n",
      "31770000\n",
      "31780000\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "((31788324, 200),\n",
       " array([[    0,     0,     0, ...,     0,     0,     0],\n",
       "        [16362,     0,     0, ...,     0,     0,     0],\n",
       "        [    0,     0,     0, ...,     0,     0,     0],\n",
       "        ...,\n",
       "        [   14, 40027, 40752, ...,     0,     0,     0],\n",
       "        [17650, 20649, 20649, ...,     0,     0,     0],\n",
       "        [35158, 35158, 36222, ...,     0,     0,     0]]))"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pos_pcode_seq = np.zeros_like(pos_artid_seq, dtype='int')\n",
    "for i in range(pos_artid_seq.shape[0]):\n",
    "    if i%10000==0: print(i)\n",
    "    for j in range(200):\n",
    "        x = pos_artid_seq[i, j]\n",
    "        if x == 0: break\n",
    "        pos_pcode_seq[i, j] = pcode[x-1]\n",
    "pos_pcode_seq.shape, pos_pcode_seq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df, hist, artid, pcode, pos_artid_seq = None, None, None, None, None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "ename": "MemoryError",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mMemoryError\u001b[0m                               Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_52777/3615170748.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'./Data/Processed/pos_pcode_seq.pkl'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'wb'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m     \u001b[0mpkl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdump\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpos_pcode_seq\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpkl\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mHIGHEST_PROTOCOL\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mMemoryError\u001b[0m: "
     ]
    }
   ],
   "source": [
    "with open('./Data/Processed/pos_pcode_seq.pkl', 'wb') as f:\n",
    "    pkl.dump(pos_pcode_seq, f, pkl.HIGHEST_PROTOCOL)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import joblib\n",
    "with open('./Data/Processed/pos_pcode_seq.db', 'wb') as f:\n",
    "    joblib.dump(pos_pcode_seq, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "7c2e65e64076883662e9fbb467097aa6d81839e6b77012bdd0b6d8c4fbfb9623"
  },
  "kernelspec": {
   "display_name": "Python 3.7.11 ('SR-GNN')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.11"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
